home *** CD-ROM | disk | FTP | other *** search
/ Almathera Ten Pack 3: CDPD 3 / Almathera Ten on Ten - Disc 3: CDPD3.iso / fish / 001-100 / 001-025 / 008 / src / alloc.c < prev    next >
C/C++ Source or Header  |  1995-03-17  |  788b  |  48 lines

  1. #ifdef LINT
  2.  
  3. /*
  4.    a ridiculous definition, suppressing
  5.    "possible pointer alignment problem" for (long *) malloc()
  6.    "enlarg defined but never used"
  7.    "ftell defined (in <stdio.h>) but never used"
  8.    from lint
  9. */
  10. #include <stdio.h>
  11. long *
  12. alloc(n) unsigned n; {
  13. long dummy = ftell(stderr);
  14.    if(n) dummy = 0;   /* make sure arg is used */
  15.    return(&dummy);
  16. }
  17.  
  18. #else
  19.  
  20. extern char *malloc();
  21. /* extern char *realloc(); */
  22.  
  23. long *
  24. alloc(lth)
  25. register unsigned lth;
  26. {
  27.    register char *ptr;
  28.  
  29.    if(!(ptr = malloc(lth)))
  30.       panic("Cannot get %d bytes", lth);
  31.    return((long *) ptr);
  32. }
  33.  
  34. long *
  35. enlarge(ptr,lth)
  36. register char *ptr;
  37. register unsigned lth;
  38. {
  39.    register char *nptr;
  40.  
  41.    nptr = alloc(lth);
  42.    movmem(ptr,nptr,lth);
  43.    free(ptr);
  44.    return((long *) nptr);
  45. }
  46.  
  47. #endif LINT
  48.